An asynchronous time-multiplexed transmission path is a transmission path conveying data messages in digital data structures called "cells". Each cell comprises a header, constituted by four 8-bit characters for example, together with a message body constituted by a defined number of characters, e.g. 32. On the transmission path, such cells follow one another without interruption. If there is no message to be transmitted, then the transmission path is occupied by an "empty" cell, i.e. a cell having the same format as a message cell and containing easily-recognized conventional information. Dispositions are taken to maintain a sufficient proportion of such empty cells in the flow of message cells.
The header of each message cell includes two characters, for example, containing information addressed to the reception end of the transmission path to define the destination towards which the message body is to be forwarded. The other two characters of the header contain service information. The same destination information is to be found in cells that are irregularly spaced apart but that all belong to the same call. The destination information thus defines a kind of virtual circuit allocated to the call and occupying a portion of the total transmission capacity of the transmission path. More generally, the virtual circuit occupies the transmission path by applying a certain data rate thereto, e.g. measured in cells per unit time, and this data rate fluctuates relative to a nominal data rate allocated to the virtual circuit because of the characteristics of the message source and/or because of the characteristics of other transmission equipments through which the call hax already passed. The main object of the apparatus the invention is to measure this fluctuating data rate.
At any given instant, the transmission path is occupied by a plurality of virtual circuits whose cells are interleaved irregularly in a so-called "asynchronous time-multiplex". The nominal data rates of the various virtual circuits are different. Each data rate fluctuates, and the sum of these fluctuating data rates is limited by the maximum data rate of the transmission path. The sum also fluctuates, thereby leaving room for the transmission of empty cells.
Further, the number of separately-identifiable virtual circuits is very high, and may be as much as 64K, for example. Only a small number of them are active at the same time.
The transmission path provides cells which it conveys to switching and transmission equipment situated downstream therefrom, which equipment also receives cells from other transmission paths. To avoid the risk of clogging such equipment, each virtual circuit should be verified to ensure that none of them, whether by fraud or by failure, continues for long to deliver a data rate which is greater than the nominal data rate allocated thereto. Should that happen, it is accepted that repressive countermeasures should be taken to prevent the transmission path conveying any cells that are considered to be in excess relative to the nominal data rate of the virtual circuit. A second object of the present invention is thus to provide such repressive countermeasures.
U.S. Pat. No. 5,119,364, U.S. Pat. No. 5,138,607 and U.S. Pat. No. 5,132,961 describe a method of evaluating the data rate of virtual circuits to enable the above-defined objects to be achieved, which method is based on using a memory in which each virtual circuit has space allocated thereto containing "context" data defining the conditions under which the data rate of the virtual circuit is evaluated and containing information resulting from earlier steps in the evaluation. This method also uses a clock designed to deliver a current time expressed in units associated with the virtual circuit. Each time a cell is received, the context of the virtual circuit to which the cell belongs is read. This context contains a starting time which was the current time as observed and recorded when an earlier cell of the virtual circuit under consideration was received. This starting time is subtracted from the present current time, and the time difference established in this way together with the number of cells observed between the present cell and the cell that gave rise to the starting time being recorded constitutes the basis on which the data rate is evaluated: it is possible to deduce either the number of cells over a given time interval by waiting for the time difference reaches the given time interval, or else the time required for receiving a given number of cells, by waiting until for said cell number to be reached.
In either case, the information on which data rate evaluation is based is a time difference established between a current time which is in the form of a digital quantity provided by a clock, and a starting time which is in the form of a similar digital quantity provided by the clock earlier on and recorded in the context. This time difference is determined on the arrival of a cell. Other data rate evaluation methods may be designed that also make use of such a time difference.
In such cases, a problem arises if the clock provides its value on a limited number of bits (which is particularly advantageous since reducing the number of bits makes it possible to limit the volume of the context for each virtual circuit), and if there is a prolonged interruption in the transmission of cells on a given virtual circuit, in which case it may happen that the clock performs one or more complete cycles before the arrival of a new cell of that virtual circuit. The time difference which is then obtained no longer represents the time lapse between the new cell and the preceding cell that gave rise to the starting time being recorded. This can therefore lead to a wrong decision and that is unacceptable when the effect of such a decision is to eliminate a cell.
A specific object of the present invention is thus to provide means that avoid such wrong decisions being taken.